package config_cmd

import (
	"learning/gooop/spring/autogen/command"
)

// SaveCmd calls service.Save() to save current configuration, in JSON format
type SaveCmd int

// SaveCmdBuilder parse cli input and build a SaveCmd instance
type SaveCmdBuilder int

const gSaveCmdString = "config save"

var gSaveCmdInstance = new(SaveCmd)

func (me *SaveCmd) String() string {
	return gSaveCmdString
}

func (me *SaveCmd) Apply(c command.ICmdContext) error {
	// todo: fixme
	panic("implements me")
}

func (me *SaveCmdBuilder) Build(line string) (error, command.ICmd) {
	if line != gSaveCmdString {
		return nil, nil
	}

	return nil, gSaveCmdInstance
}
